<template>
	<view class="address-form" :data-theme='theme()' :class="theme() || ''">
		<view class="f30">
			<view class="d-b-c mt20" style="background-color: #fff;padding: 0 20rpx;">
				<text class="key-name">头像</text>
				<button open-type="chooseAvatar"  class="d-e-c" style="width: 205rpx; height: 125rpx; display: flex;" @chooseavatar="onChooseAvatar">
					<view class="info-image">
						<image style="width: 100rpx;height: 100rpx;border-radius: 50%;" :src="'http://qiniu.haidiao888.com/' + userInfo.avatarUrl"></image>
					</view>
					<text class="icon iconfont icon-jiantou"></text>
				</button>
			</view>
			<view class="d-b-c p-20-0 mt20" style="background-color: #fff;padding: 20rpx ;">
				<text class="key-name">会员ID</text>
				<view class="d-e-c">
					<text class="mr20">{{userInfo.user_id}}</text>
				</view>
			</view>
			<view class="d-b-c p-20-0 mt20" style="background-color: #fff;padding: 20rpx ;">
				<text class="key-name">昵称</text>
				<view class="d-e-c" @click="changeName('nickName')">
					<text class="mr20">{{userInfo.nickName}}</text>
					<text class="icon iconfont icon-jiantou"></text>
				</view>
			</view>
			<view class="d-b-c p-20-0 mt20" style="background-color: #fff;padding: 20rpx ;">
				<text class="key-name" style="flex: 1;">个性化推送开关</text>
				<view class="d-e-c">
					<u-switch activeColor="#38d0c9" v-model="valueSwitch" @change="changeClick"></u-switch>
				</view>
			</view>
			<view class="d-b-c p-20-0 mt20" style="background-color: #fff;padding: 20rpx ;" @tap="logout()">
				<text class="key-name">退出登录</text>
				<view class="d-e-c">
					<text class="icon iconfont icon-jiantou"></text>
				</view>
			</view>
			<!-- <button class="login-btn" open-type="getAuthorize" @getAuthorize="onGetPhoneAuth" @error="onAuthError"
				scope="phoneNumber">
				授权手机号
			</button> -->
		<!-- 	<view class="d-b-c p-30-0 border-b">
				<text class="key-name">手机号码</text>
				<view class="d-e-c" v-if="userInfo.address[0].phone">
					<text class="mr20">{{userInfo.address[0].phone}}</text>
				</view>
				<view class="d-e-c" v-if="!userInfo.address[0].phone" @click="gotoBind">
					<text class="mr20">未绑定</text>
					<text class="iconfont icon-jiantou"></text>
				</view>
			</view> -->
			
			<!-- #ifdef APP-PLUS -->
			<view class="d-b-c p-30-0">
				<text class="key-name">当前版本</text>
				<view class="d-e-c">
					<text class="mr20">{{version_no}}</text>
				</view>
			</view>
			<!-- #endif -->
		</view>
		<!-- 修改资料 -->
		<Popup :show="isPopup" type='bottom' :width="750" :padding="0" @hidePopup="hidePopupFunc">
			<view class="d-s-s d-c p20 mpservice-wrap">
				<view class="tc f32 fb ww100">修改</view>
				<template v-if="type=='mobile' || type=='nickName' ||type=='user_name' ||type=='email'||type=='idcard'">
					<view class="pop-input d-b-c">
						<input type="text" class="flex-1" placeholder="请输入" :value="newName" @input="changeinput" />
						<view class="icon-guanbi icon iconfont" @click="clearName"></view>
					</view>
				</template>
				<view class="d-a-c ww100">
					<button class="btn-gray-border" style="width: 100rpx;height: 70rpx;line-height: 70rpx;background: #FFFFFF;border: 1px solid #CCCCCC;color: #333333;"
						@click="hidePopupFunc">取消</button>
					<button class="theme-btn" style="width: 100rpx;height: 70rpx;line-height: 70rpx;background: #FFFFFF;border: 1px solid #CCCCCC;color: #333333;"
						@click="subName">确认</button>
				</view>
			</view>
		</Popup>
		<!-- 上传头像 -->
		<Upload v-if="isUpload" @getImgs="getImgsFunc"></Upload>
	</view>
</template>

<script>
	import Upload from '@/components/upload/uploadOne.vue';
	import Popup from '@/components/uni-popup.vue';
	import baseurl from "@/config.js";
	export default {
		components: {
			Upload,
			Popup
		},
		data() {
			return {
				userInfo: {},
				isUpload: false,
				isPopup: false,
				newName: '',
				type: '',
				version_no: '',
				baseurl: "",
				valueSwitch: false,

			};
		},
		onLoad() {
			this.baseurl = baseurl.app_url;
		},
		onShow() {
			/*获取个人中心数据*/
			this.getData();
			this.isUpload = false;
		},
		methods: {
			/*获取数据*/
			getData() {
				let self = this;
				uni.showLoading({
					title: '加载中'
				});
				self._get('user.index/setting', {}, function(res) {
					self.userInfo = res.data.userInfo;
					console.log("======",res.data.userInfo);
					uni.hideLoading();
				});
				// #ifdef APP-PLUS
				plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
					self.version_no = widgetInfo.version;
				});
				// #endif
			},
			onAuthError(){
				uni.showModal({
						title:"提示",
						content:"取消授权，可能导致服务无法使用，或者页面显示不完整",
						success:function(res){
						if(res.confirm){
						console.log("我知道了")
						}else{			
						console.log("重新授权")
					}}
					
				
				})
			},
			onGetPhoneAuth() {
				my.getPhoneNumber({
					success: (res) => {
						let encryptedData = res.response;
						console.log(JSON.parse(encryptedData));
						
					},
					fail: (res) => {
						console.log(res);
						console.log('getPhoneNumber_fail');
					}
				});
				
				
			},
			
			gotoBind() {
				// this.gotoPage("/pages/user/modify-phone/modify-phone");


			},

			onGetAuthorize() {
				// console.log('测试');
				my.getPhoneNumber({
					success: (res) => {
				  let encryptedData = res.response;
				  console.log(res);
					},
					fail: (res) => {
						console.log(res);
						console.log('getPhoneNumber_fail');
					},
				});

			},

			gotoBindUser() {
				this.gotoPage("/pages/user/modify-phone/userAuther");
			},
			logout() {
				uni.removeStorageSync('token');
				uni.removeStorageSync('user_id');
				this.gotoPage('/pages/index/index');
			},
			changeName(type) {
				let self = this;
				if (type == 'mobile') {
					self.oldmobile = self.userInfo.mobile;
				}
				self.type = type;
				self.newName = self.userInfo[type];
				self.isPopup = true;
			},
			hidePopupFunc() {
				this.newName = '';
				this.isPopup = false;
			},
			changeinput(e) {
				this.newName = e.target.value;
			},
			clearName() {
				this.newName = '';
			},
			subName() {
				let self = this;
				if (self.loading) {
					return
				}
				self.userInfo[self.type] = this.newName;
				self.update()
			},
			/* 修改头像 */
			changeAvatarUrl() {
				let self = this;
				self.isUpload = true;
			},
			/*获取上传的图片*/
			getImgsFunc(e) {
				let self = this;
				if (e && typeof(e) != 'undefined') {
					let self = this;
					self.userInfo.avatarUrl = e[0].file_path;
					self.update();
					self.isUpload = false;
				}
			},
			update() {
				let self = this;
				if (self.loading) {
					return
				}
				uni.showLoading({
					title: '加载中'
				})
				let params = self.userInfo;
				self.loading = true;
				if(self.userInfo.avatarUrl.slice(0,4) == 'http'){
					self.userInfo.avatarUrl = self.userInfo.avatarUrl
				}else{
					self.userInfo.avatarUrl = 'http://qiniu.haidiao888.com/' +  self.userInfo.avatarUrl;
				}
				self._post('user.user/updateInfo', params, function(res) {
					self.showSuccess('修改成功', function() {
							self.loading = false;
							self.isPopup = false;
							uni.hideLoading();
							self.getData();
						},
						function(err) {
							uni.hideLoading();
							self.loading = false;
							self.isPopup = false;
						}
					)

				});
			},
			/* 修改头像 */
			onChooseAvatar(e) {
				let self = this;
				let params = {
					token: uni.getStorageSync('token'),
				    app_id: self.getAppId()
				};
				console.log(params)
				uni.uploadFile({
					url: self.websiteUrl + '/index.php?s=/api/file.upload/image',
					filePath: e.detail.avatarUrl,
					fileType:'image',
					name: 'iFile',
					formData: params,
					success: function(res) {
						let data = JSON.parse(res.data)
						self.userInfo.avatarUrl = data.data.file_path;
						self.update();
					},
					fail(err) {
						console.log(err)
					},
				});
			},
		}
	};
</script>

<style lang="scss">
	.address-form .key-name {
		width: 200rpx;
	}

	.address-form .btn-red {
		height: 88rpx;
		line-height: 88rpx;
		border-radius: 44rpx;
	}

	.setup-btn {
		position: fixed;
		bottom: 20rpx;
		left: 5%;
		width: 90%;
		height: 80rpx;
		line-height: 80rpx;
		border-radius: 80rpx;
		@include background_color('background_color');
		color: #fff;
		font-size: 30rpx;
		display: flex;
		justify-content: center;
		margin: 0 auto;
	}

	.info-item.avatar {
		// height: 162rpx;
	}

	.info-image {
		width: 112rpx;
		height: 112rpx;
		border-radius: 10rpx;
		margin-right: 20rpx;

		image {
			width: 112rpx;
			height: 10rpx;
			border-radius: 10rpx;
		}
	}

	.make-item {
		height: 60rpx;

	}

	.btn-red.code-btn {
		height: 54rpx;
		line-height: 54rpx;
	}

	.btn-red.code-btn.issend {
		background: #666666;
		border: none;
		color: #FFFFFF;
		box-shadow: none;
	}

	.pop-input {
		width: 100%;
		margin: 26rpx 0;
		box-sizing: border-box;
		border-bottom: 2rpx solid #D9D9D9;
	}

	.pop-input input {
		width: 100%;
		padding-left: 15rpx;

		font-size: 26rpx;
		color: #333333;
		margin: 16rpx 0;
		text-align: left;
		height: 60rpx;
		line-height: 60rpx;
	}

	.pop-input .icon.icon-guanbi {
		width: 38rpx;
		height: 38rpx;
		background-color: #999999;
		color: #FFFFFF;
		font-size: 22rpx;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		opacity: 0.8;
	}

	.sub-box {
		padding: 40rpx 0;

		.setup-btn {
			width: 686rpx;
			height: 84rpx;
			@include background_color('background_color');
			border-radius: 6rpx;
			line-height: 84rpx;
			color: #fff;
			font-size: 30rpx;
			display: flex;
			justify-content: center;
			margin: 0 auto;
		}
	}

	.avatar-wrapper {
		// background-color: #34BFC6;
		width: 205rpx;
		height: 125rpx;
		// border: 1rpx solid red;
	}

	button {
		background-color: transparent;
		padding: 0;
		margin: 0;
		display: inline;
		position: static;
		border: 0;
		padding-left: 0;
		padding-right: 0;
		border-radius: 0;
		font-size: 0rpx;
		color: transparent;
		height: 0rpx;
		line-height: 0rpx;
	}

	button::after {
		content: '';
		width: 0;
		height: 0;
		-webkit-transform: scale(1);
		transform: scale(1);
		display: none;
		background-color: transparent;
	}
</style>
